Non-volatile memory devices such as flash memory devices are well known in the art. In a typical NAND-type flash memory device, a memory cell array for storing data includes a number of memory blocks each having memory cells in a number of pages. Memory cells of the respective blocks are erased at the same time. The NAND-type flash memory device stores high-capacity data while requiring considerable program time.
A NAND flash memory device and a program method thereof are disclosed in U.S. Pat. No. 6,061,270 entitled “METHOD FOR PROGRAMMING A NON-VOLATILE MEMROY DEVICE WITH PROGRAM DISTURB CONTROL” and U.S. Pat. No. 6,335,881 entitled “NAND-TYPE FLASH MEMORY DEVICE AND METHOD OF OPERATING THE SAME”.
To program data in any memory block of a NAND-type flash memory device, an external control unit (e.g., a memory controller, a microcontroller, etc.) checks the erase or program status of a selected memory block before a program operation. If the selected memory block is in an erase state, the data is programmed in the selected memory block by a conventional method. On the other hand, if the selected memory block is in a program state, the data is not programmed in the selected memory block.
As is well known in the art, a NAND-type flash memory device requires considerably long read time, which leads to increase of entire program time (or operation speed) of the NAND-type flash memory device. Here the entire program time means the sum of time required for checking the erase/program status of a memory block and time required for practically programming data. As a result, the operation speed of a system including the NAND-type flash memory device may be reduced.